hdf5.wrap

hdf5.wrap

D Language wrappers for the HDF5 Library. (Paired with a set of lower-level bindings) https://github.com/Laeeth/d_hdf5

No restriction on use beyond those applying from HDF5 and the original C API by Stefan Frijters However, if you use them, I would not mind knowing your application and suggestions for improvement if you feel like sharing. laeeth@laeeth.com

Copyright by The HDF Group. * Copyright by the Board of Trustees of the University of Illinois. * All rights reserved. * * This file is part of HDF5. The full HDF5 copyright notice, including * terms governing use, modification, and redistribution, is contained in * the files COPYING and Copyright.html. COPYING can be found at the root * of the source code distribution tree; Copyright.html can be found at the * root level of an installed copy of the electronic HDF5 document set and * is linked from the top-level documents page. It can also be found at * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Ported to D by Laeeth Isharc 2014 Borrowed heavily in terms of C API declarations from https://github.com/SFrijters/hdf5-d Stefan Frijters bindings for D

I do not think these are complete, and I also wanted to begin to work on a higher level D interface. Initially just using strings instead of chars, for example. And exceptions instead of checking status code each time. Later will add a higher level interface similarly to how it is done in h5py.

Consider this not even alpha stage. It probably isn't so far away from being useful though. This is written for Linux and will need modification to work on other platforms.

More...

Public Imports

core.stdc.stdint
public import core.stdc.stdint;
Undocumented in source.
core.stdc.time
public import core.stdc.time;
Undocumented in source.
core.stdc.stdint
public import core.stdc.stdint;
Undocumented in source.

Members

Functions

ZtoString
string ZtoString(char[] c)
Undocumented in source. Be warned that the author may not have intended to support it.
ZtoString
string ZtoString(char* c)
Undocumented in source. Be warned that the author may not have intended to support it.
dataSpaceContents
string[] dataSpaceContents(ubyte[] buf, hid_t type_id, hid_t space_id)
Undocumented in source. Be warned that the author may not have intended to support it.
dataSpaceIterator
herr_t dataSpaceIterator(void* elem, hid_t type_id, int ndim, hsize_t* point, void* op_data)
Undocumented in source. Be warned that the author may not have intended to support it.
findAttributes
string[] findAttributes(hid_t obj_id)
Undocumented in source. Be warned that the author may not have intended to support it.
findLinks
string[] findLinks(hid_t group_id)
Undocumented in source. Be warned that the author may not have intended to support it.
myAttributeIterator
herr_t myAttributeIterator(hid_t location_id, char* attr_name, H5A_info_t* ainfo, void* op_data)
Undocumented in source. Be warned that the author may not have intended to support it.
myLinkIterator
herr_t myLinkIterator(hid_t g_id, char* name, H5LInfo* info, void* op_data)
Undocumented in source. Be warned that the author may not have intended to support it.
myObjectIterator
herr_t myObjectIterator(hid_t g_id, char* name, H5OInfo* info, void* op_data)
Undocumented in source. Be warned that the author may not have intended to support it.
myPropertyIterator
herr_t myPropertyIterator(hid_t id, char* name, void* op_data)
Undocumented in source. Be warned that the author may not have intended to support it.
objectList
string[] objectList(hid_t id)
Undocumented in source. Be warned that the author may not have intended to support it.
propertyList
string[] propertyList(hid_t id)
Undocumented in source. Be warned that the author may not have intended to support it.
throwOnError
void throwOnError(int status)
Undocumented in source. Be warned that the author may not have intended to support it.

Imports

off_t (from core.sys.posix.sys.types)
public import core.sys.posix.sys.types : off_t;
Undocumented in source.

Structs

H5A
struct H5A
Undocumented in source.
H5D
struct H5D
Undocumented in source.
H5F
struct H5F
Undocumented in source.
H5G
struct H5G
Undocumented in source.
H5I
struct H5I
Undocumented in source.
H5L
struct H5L
Undocumented in source.
H5O
struct H5O
Undocumented in source.
H5P
struct H5P
Undocumented in source.
H5R
struct H5R
Undocumented in source.
H5S
struct H5S
Undocumented in source.
H5T
struct H5T
Undocumented in source.
H5Z
struct H5Z
Undocumented in source.
dataSpaceDescriptor
struct dataSpaceDescriptor
Undocumented in source.

Detailed Description

To Do: 1. Better exception handling that calls HDF5 to get error and returns appropriate Throwable object 2. Unit tests 3. Thoughtfulness about using D CFTE/reflection/templating to make it work better - also variants etc should be able to pass the data structure not cast(ubyte*) should automatically use reflection to deal with structs etc

Meta